
<template>
    <div>
        <el-button type="primary" @click="change">改变数据</el-button>
        <div id="chart" style="width: 100%;height:400px"></div>
    </div>

</template>

<script>

import * as echarts from 'echarts';


export default {
    name: "test",
    data() {
        return {
            chartOption: {
                // 标题
                title: {
                    text: 'Stacked Line'
                },
                // 图例 会 根据series的name自动生成
                tooltip: {
                    trigger: 'axis'
                },

                // 坐标轴
                xAxis: {
                    type: 'category',
                    data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
                },
                // 可以缩起来的图例
                legend: {
                    data: ['上半年', '下半年']
                },
                yAxis: {
                    type: 'value'
                },
                series: [
                    {
                        data: [150, 230, 224, 218, 135, 147, 260],
                        type: 'line',
                        name: '上半年',
                        itemStyle: {
                            color: '#ff7f50'    //设置折线颜色
                        }
                    }, {
                        data: [10, 218, 230, 224, 135, 7, 26],
                        type: 'line',
                        name: '下半年'
                    }
                ]
            }
        }
    },
    mounted() {  //页面加载完成后执行
        this.initChart(); //初始化图表
        window.addEventListener('resize', this.windowResize); //监听浏览器窗口大小变化
    },
    beforeUnmount() { //页面销毁前执行
        window.removeEventListener('resize', this.windowResize); //移除监听浏览器窗口大小变化
    },
    methods: {
        change() {
            this.chartOption.series[0].data = [130, 230, 224, 218, 135, 147, 260];
            this.myChart.setOption(this.chartOption);
        },
        windowResize() {
            this.myChart.resize(); //重新渲染图表
        },
        initChart() {
            // 基于准备好的dom，初始化echarts实例
            const chartDom = document.getElementById('chart');
            this.myChart = echarts.init(chartDom);
            // 绘制图表
            this.myChart.setOption(this.chartOption);
        }
    }
}
</script>